Soru & Cevap

onCreate() de ksoap2 ile web servis çağırma

04.03.2017 - 05:34

Merhaba arkadaşlar. onCreate() içinde web servise bağlanmaya çalıştığımda resimdeki  run metotuna hiç girmiyor. nasıl çözebilirim bunu. butonun  setonclik inde çalışıyor  ama onCreate() içinde çalışmıyor. Yardım ederseniz çok sevinirim

22 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-87288-1481814981.jpg
aliosmanküçükk…
04.03.2017 - 07:43

ksoap kütüphanesini arkaplanda çalıştırmalısın. Servise bağlanma süreci zaman alacağından diğer işlemleri geciktirecektir. AsyncTask işini görecektir.

AsyncTask class:

 public class MyTask extends AsyncTask<String, Integer, String>{


    @Override
    protected String doInBackground(String... params) {
    String response = null;
    SoapObject Request = new SoapObject(NAMESPACE, OPERATION_NAME);
    Request.addProperty("strCommand", params[0]);
    Request.addProperty("strCommandParameters", params[1]);



    SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(
        SoapEnvelope.VER11);
    soapEnvelope.dotNet = true;
    soapEnvelope.setOutputSoapObject(Request);
    // Needed to make the internet call

    // Allow for debugging - needed to output the request

    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
    androidHttpTransport.debug = true;
    // this is the actual part that will call the webservice
    androidHttpTransport.call(SOAP_ACTION, soapEnvelope);

    // Get the SoapResult from the envelope body.
    SoapObject result = (SoapObject) soapEnvelope.bodyIn;

    response = result.getProperty(0).toString();


    return response;
}
}

 

Uygulaman içerisinde şu şekilde çağırabilirsin:

MyTask myTask = new MyTask();
myTask.execute(new String[] {Command, CommandParameters});

ya da

new MyTask().execute(new String[] {Command, CommandParameters});

 

ilyas çiçek
04.03.2017 - 08:01
merhaba cevap için teşekkürler bunu uyguluyorum ama uygulama durduruldu hatası veriyor. neden olabilir acaba?
aliosman küçükkaraaslan
04.03.2017 - 08:42
Hata ayıklama yapabilirsin. Breakpoint koy ve tek tek incele. Tam nerede hata verdiğini bulabilirsin. Bu arada ksoap2 nin eski sürümlerinden dolayı bazı problemler yaşamıştım geçenlerde. Bazı API lerde hata veriyordu. son sürümünü kullanmanı tavsiye ederim.
aliosman küçükkaraaslan
04.03.2017 - 08:46
al hatta benim şuanda kullandığım jar ı kullanabilirsin. http://aokdev.net/images/geleceginyazarlari/ksoap2.rar